package org.example.service;

import org.example.controller.request.ShortLinkAddRequest;
import org.example.controller.request.ShortLinkDelRequest;
import org.example.controller.request.ShortLinkPageRequest;
import org.example.controller.request.ShortLinkUpdateRequest;
import org.example.model.EventMessage;
import org.example.util.JsonData;
import org.example.vo.ShortLinkVO;

import java.util.Map;

public interface ShortLinkService {
    /**
     * 解析短链
     *
     * @param shortLinkCode
     * @return
     */
    ShortLinkVO parseShortLinkCode(String shortLinkCode);

    /**
     * 创建短链
     *
     * @param request
     * @return
     */
    JsonData createShortLink(ShortLinkAddRequest request);

    /**
     * 处理新增短链消息
     *
     * @param eventMessage
     * @return
     */
    boolean handlerAddShortLink(EventMessage eventMessage);

    /**
     * 分页查找短链
     *
     * @param request
     * @return
     */
    Map<String, Object> pageByGroupId(ShortLinkPageRequest request);

    /**
     * 删除短链
     * @param request
     * @return
     */
    JsonData del(ShortLinkDelRequest request);

    /**
     * 更新短链码
     * @param request
     * @return
     */
    JsonData update(ShortLinkUpdateRequest request);
//
//    /**
//     * 处理新增短链消息
//     * @param eventMessage
//     * @return
//     */
//    boolean handleAddShortLink(EventMessage eventMessage);
//
//    /**
//     * 处理更新短链消息
//     * @param eventMessage
//     * @return
//     */
//    public boolean handleUpdateShortLink(EventMessage eventMessage);
//
//    /**
//     * 删除锻炼消息
//     * @param eventMessage
//     * @return
//     */
//    boolean handleDelShortLink(EventMessage eventMessage);
}
